// 一般vuex写到store文件夹下 index.js
// vuex写到 vuex文件夹 store.js
import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);

//vuex中五个核心对象（现在学了四个）
// state mutations actions getters

//state 用来存放公共数据 相当于data
const state = {
    count:0,
    info:"王洋洋"
};

//mutations 包含了多个直接更改state数据的方法
const mutations = {
    add(){
        state.count++;
    },
    decrement(){
        state.count--;
    }
};

//actions 中包含多个间接更改state数据的方法
const actions = {
    addAct({commit}){
        commit("add")
    },
    decrementAct({commit}){
        commit("decrement")
    }
};

//getters 包含多个计算属性
const getters = {
    evenOrOdd(){
        return state.count % 2 == 0 ? "偶数":"奇数";
    }
};

export default new Vuex.Store({
    state,
    mutations,
    actions,
    getters
})